Repository navigation
Conversation
|
@yuxianq — vendor promotion needs author action: The pinned temporary source commit Fix: Fetch The bot will recheck automatically on a later poll. |
47a02ee to
d575c3f
Compare
|
/bot run |
|
PR_Github #76928 [ run ] triggered by Bot. Commit: |
|
PR_Github #76928 [ run ] completed with state
|
|
@yuxianq — the PrimTS upstream refresh #20155 has merged. Please update this source-update PR before merging it. The new canonical source branch is
The publishing bot now targets the new dated canonical branch. After this source-update PR merges, its lock-only promotion will target that branch. The old |
8298aba to
72a6cea
Compare
|
/bot run |
|
PR_Github #77492 [ run ] triggered by Bot. Commit: |
|
PR_Github #77492 [ run ] completed with state
|
Vendor validation:
|
Vendor validation:
|
Vendor validation:
|
Vendor validation:
|
Vendor validation:
|
72a6cea to
d829f61
Compare
|
/bot run |
Vendor validation:
|
👎 Promotion blocked, new vulnerability foundVulnerability report
|
d829f61 to
0c80a0c
Compare
Vendor validation:
|
|
/bot run --extra-stage "GB300-8_GPUs-2_Nodes-PyTorch-SingleNvlinkDomain-Post-Merge-1" |
Vendor validation:
|
|
PR_Github #81839 [ run ] triggered by Bot. Commit: |
|
PR_Github #81839 [ run ] completed with state
|
Vendor validation:
|
Vendor validation:
|
Vendor validation:
|
a7da965 to
0660910
Compare
|
/bot run --disable-fail-fast --extra-stage "GB300-8_GPUs-2_Nodes-PyTorch-SingleNvlinkDomain-Post-Merge-1" |
|
PR_Github #83789 [ run ] triggered by Bot. Commit: |
…patch Add mla_context_preprocess with caller-owned buffers. Reuse RoPE/cache append and FP8 QKV quantization, allow preprocessed cached/chunked inputs, and pack the strided V projection. This commit adds the prologue contract only; the PrimTS adapter follows separately. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Route fresh, cached and chunked MLA prefill through the planned PrimTS context wrapper, including FP8 scales and merge-compatible softmax statistics. Preserve full cached K/V spans and account for BF16 V-packing workspace. Fold the FMHA-field and statistics-API rebase adaptations into this implementation. Correct MLA generation to require query-only input (is_fused_qkv=False), matching PhasedFmha. Include selector/contract and workspace tests; Rubin enablement and performance scheduling are separate commits. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Add K3 full-attention coverage for fresh/cached/chunked prefill, BF16/FP8 KV, TP/attention-DP heads, and CUDA graph decode. Check fresh prefill against independent FP64 math after preprocessing; retain direct backend comparisons for cached/chunk-merged prefill and decode. Add forced-PrimTS GSM8K CI cases, supported KvCacheConfig dtype selection, and the missing FP8-KV reference without relaxing accuracy thresholds. Hecate qualification on the equivalent full functional snapshot passed 1319 examples per dtype (BF16 96.058%, FP8 96.740%). Scheduling optimization is not part of this commit. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Keep Blackwell on the existing DSL 4.7 minimum and require DSL 4.8 for SM107, retaining the compiler 13.3 gate. Extend availability tests and full-attention test collection to Rubin. This is architecture enablement only, not the dense-Q scheduling optimization. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Permit explicit MLA context calls under linear speculative metadata, retaining tree, custom-mask, mixed-phase and Helix-context exclusions. Cover causal fresh/final chunks, FULL cached chunks, FP8 statistics and live metadata reuse. Validation: 363 adapter tests and 8 Kimi K3 module tests passed with no skips in the matching Rubin runtime; two independent review passes and pre-commit passed. Full-model MTP qualification remains separate. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Add the FP8 MLA DSpark7 integration case to the existing eight-GPU CI stage. Propagate strict target FMHA selection to pre-existing workers, restore each worker environment, and cover success and failure cleanup with CPU regressions. Preserve existing model resources, GSM8K criteria, acceptance length, and FP32 KDA state. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Preserve the static PrimTS capability contract after rebasing onto the shared MLA routing helper. SM107 FP8 pages are not exclusive to CuTe DSL once PrimTS supports them. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Avoid repeated workspace policy and sizing work on warmed eager MLA calls. Scope scalar sizes to the prepared KV capacity, invalidate dependent plans when that capacity changes, and preserve workspace allocation and CUDA graph capture checks. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Forward the trailing disabled KV-bounds operand through the downstream prepared launcher and regenerate the vendor compatibility patch with the vendor toolkit. Cover host argument parity for both cache layouts and workspace modes, and exercise prepared execution after persistent-kernel reload. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
…ging Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
…shot Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
|
PR_Github #83789 [ run ] completed with state
|
0660910 to
6df6036
Compare
|
/bot run --disable-fail-fast --extra-stage "GB300-8_GPUs-2_Nodes-PyTorch-SingleNvlinkDomain-Post-Merge-1" |
|
PR_Github #83851 [ run ] triggered by Bot. Commit: |
@coderabbitai summary
Description
Integrate expanded MLA prefill into
PrimsTSFmha, so Kimi K3 full-attention layers can use PrimTS for context and decode with BF16 or FP8 target KV cache. Support fresh, cached-prefix and chunked context, linear MTP, and Helix per-query local KV bounds. KDA execution and the default FMHA library order are unchanged; dense PrimTS remains opt-in.This revision rebases onto TRT-LLM main
a1c22fc7a5d09f65afcc66313f85d680d20afb98, including the PrimTS refresh in #21354. The temporary FlashInfer source branch is now based on canonicaltrtllm-prims-ts-dev-20261107at911d6a9d62308b6c8a5249e8dc4aabc7518020f1; the canonical branch itself is untouched.Review order
3d7543ea79,a0c1277248.dac0ce3750throughd6978a1f8e.1ab5362bc5, startup profile warmupba5dd568f0, workspace-size caching6a7e605776.6137dedb02throughf7a0200f37.3aa9939269, adapter/warmup API reconciliationd745d03ae1, and GPU test consolidation6df6036df4.The pinned FlashInfer history retains individual functionality, kernel-performance, correctness, strided-V and rebase-fix commits. Obsolete vendor-only snapshots were replaced by the audited import of that rebased series. Historical functionality/performance checkpoints below remain historical; their measurements do not qualify this refreshed head.
Vendored source
Temporary source branch: yuxianq:prims-ts-mla-prefill--flashinfer.
Immutable pin:
26b197614300b549eb103fc59d736c3a0e4b3fa9. Corresponding upstream work: FlashInfer #5489, synchronized to the same head.Vendor state is managed with
scripts/vendor/manage.py. Preserve current main's import isolation, precompile/persistent-cache machinery and existing adaptations. The regenerated compatibility patch removes a redundant copyright hunk and forwards the new optional statistics/bounds slots from the TRT-only prepared sparse launch. Kernel fixes remain upstream source commits, not hidden compatibility patches. Other vendor entries are unchanged.Latest main rebase validation
06609107acto6df6036df4on maina1c22fc7a5. All 58 changed files remain. The package-version-removal commit is already in main, so 21 commits become 20 without losing functionality or performance work.python -Pgave a complete 567-pass rerun with exit 0, with the guard still enabled. No product-code or test change was needed; reruns are not additional unique coverage.Previous source-refresh validation
Fresh B200 native build completed with CUDA13.4, Torch2.14.0a0, CUTLASS DSL4.8.0 and FlashInfer0.7.2. The local out-of-tree attribution scanner warned about its working directory; the wheel is a validation artifact, not a release build.
The matching-wheel 522-case selection first reported 514 passed / 8 failed / 0 skipped. All failures were the prepared sparse MLA ABI adaptation and its old-schema fixtures. After appending the two optional slots and updating the fixtures, all 8 affected checks passed, including graph replay, one/two-pool paths and persistent-kernel reload. This is a full run plus a targeted post-fix rerun, not a second full 522-case execution.
All selected K3 full-attention component cases (BF16/FP8 KV, cached/chunked context, TP-local/DP head geometry), FP8 linear MTP, expanded geometries, FP8 scales, and dense graph replay passed. This is component qualification, not a new full-model or multi-GPU K3 run.
Native library/module origins and changed-source hashes were verified against the installed wheel. Final committed files exactly match the post-fix qualification manifest. Full pre-commit checks and remote Pyrefly passed; vendor integrity checks passed against local and published source.
FlashInfer's full selected source run reported 525 passed / 8 hardware-policy skips / 2 failed. The rebase-induced device-scale reducer compiler error was fixed; 22 targeted rerun cases passed. The remaining BF16 Helix boundary tolerance failure reproduces identically on both old source branches (
a4b6e9028and64273c074): 2/884736 elements, greatest absolute error0.0006412482 versus atol0.0005. Its test, reference and tolerances remain unchanged. The 22 cases overlap the full run and are not additional unique coverage.Before/after patch-range and changed-file audits preserve the previous integration and performance work. The old-dev-only sink helper is superseded by the refreshed implementation and covered by strict sink-scale regressions.
Test consolidation preserves distinct geometry/dtype/layout/topology contracts and the required K3 CI case. TRT native layout cases: 48→20; cache integration: 36→18; independent capacity boundaries: 144→18. FlashInfer affected-file collection: 2391→2373, including new device-scale/compact-split regressions. No proportional CI speedup is claimed.
No new end-to-end or performance experiment was run for this rebase. FlashInfer CI remains user-managed; no bot command is issued there.
Keep the TRT-LLM PR in draft pending current-head CI and review. Multi-GPU CI approval must follow the normal maintainer policy.
Historical performance and accuracy — unchanged, not refreshed-head qualification
Main-based prepared-context comparison on Rubin
After the correctness gates passed, 36 fresh-process receipts completed three ABBA blocks per case. Baseline
e2203f939e6c95475d7ec609fadfb916c04a2becand candidate005d91701b95e88a3495da84e6d384efccc606d7contain the same original-scale correctness change. Their production delta is only full-tile dense LDRED plus request-local dense KV domains. Both use actual runtime Q/K maxima.All cases use packed dense FP8 E4M3 attention, H96, Dqk192/Dv128, and BF16 output. The one-request cases use Q/K lengths 1920/1920 and Q/K capacities 2048/2048. The two-request case uses Q lengths
[1664,256], K lengths[0,3840], and capacities Q2048/K4096. All eager, graph, and post-timing numerical checks passed; input identities were unchanged. An independent audit recomputed all 360 raw CUDA-event samples, receipt medians, and nine block summaries. The means of paired block ratios are reported, with sample SD across three blocks.This is one-allocation prepared-wrapper graph replay, not a CuTeDSL/trtllm-gen comparison or a new K3 end-to-end result. The large empty-partition gain does not establish how frequently that geometry occurs in serving. Statistics ON/OFF also changes precision policy, so their absolute-time difference is not an isolated statistics-store cost.
Functionality-only Kimi K3 qualification on Rubin
26e9b3b33cplus FlashInferd9f0146; published source-equivalent functionality commitdf3434b1d), not every current-main combination.Controlled DEP16 performance experiment on Rubin
The performance experiment used FP8 target KV/P128, TP16/EP16 with attention DP, DSpark5 (six target query tokens per verification step), chunked prefill, overlap scheduling, and CUDA graphs. Both policies used the same BF16 KDA state and engine prefill path; drafter KV remained BF16/P32. The fixed workload was 4,096 input / 256 output tokens at concurrency 128 and 256, seed 42, temperature 0, and ignore-EOS. This is an aggregated-serving comparison, not the original disaggregated AgentX workload.
Three allocation-bounded ABBA blocks produced 24 accepted measured windows. All measurements were retained; sealed-source/artifact and compilation-log audits passed. Observed native compilation warnings were confined to startup; no matching compilation markers occurred in accepted measured windows. This does not prove zero unlogged JIT.
This supports near throughput parity in this workload, not a robust speedup, statistical equivalence, or noninferiority claim. Policy TPS columns are arithmetic means; percentage changes are means of paired block ratios. The experiment used the pre-rebase TRT
be927b7015runtime and the source-equivalent FlashInfer30e7ea65/76e822974kernels. It is not a latest-main native performance result or a causal before/after comparison across different allocation series.Accuracy and scope limits
PR Checklist
GitHub Bot Help
To see available CI commands, comment
/bot help.